//
// Created by Jisam on 28/09/2024 10:48 PM.
// Solution of  查找
// 2024-09-28 23:09:06 AC 100
#include <bits/stdc++.h>

using namespace std;
using i64 = long long;
using u64 = unsigned long long;


int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    // 读取整数n和m的值
    int n, m;
    cin >> n >> m;

    // 初始化一个大小为n的整数向量a，并读取每个元素的值
    vector<int> a(n);
    for(auto & x : a) cin >> x;

    // 重复m次的操作
    while (m --){
        // 读取查询值q
        int q;
        cin >> q;

        // 使用二分查找确定q在向量a中首次出现的位置
        int ans = lower_bound(a.begin(),a.end(),q) - a.begin();

        // 输出结果：如果q存在于向量a中，则输出其位置（从1开始计数）；否则输出-1
        cout <<( a[ans] == q ? ans + 1 : -1) << " ";
    }
    return 0;
}